// import com.alibaba.druid.wall.Violation;
#pragma once
#include "../Violation.h"

class IllegalSQLObjectViolation : virtual public Violation
{
public:
  std::string message;
  std::string sqlPart;
  int errorCode;

  IllegalSQLObjectViolation(int errorCode, std::string message, std::string sqlPart)
  {
    this->errorCode = errorCode;
    this->message = message;
    this->sqlPart = sqlPart;
  }

  std::string getSqlPart()
  {
    return sqlPart;
  }

  std::string toString()
  {
    return this->sqlPart;
  }

  std::string getMessage()
  {
    return message;
  }

  // @Override
  int getErrorCode()
  {
    return errorCode;
  }
};
